home *** CD-ROM | disk | FTP | other *** search
- ;@GOTO TRANSLATE
-
- .586P
-
- .MODEL FLAT, STDCALL
-
- OPTION CASEMAP: NONE
- INCLUDE WINDOWS.inc
- UNICODE = TRUE
- INCLUDE APIMACRO.mac
-
- INCLUDE ApiHooks.inc
-
- INCLUDELIB iKERNEL32.lib
- INCLUDELIB iUSER32.lib
-
- INCLUDELIB iApiHooks.lib
-
- .DATA?
- Exclude DWORD ?, ? ;null terminated by windows
-
- ;------------------------------------------------------------------
- .CODE
- DllMain:
- CMP DWORD PTR [ESP+8], DLL_PROCESS_ATTACH
- JNE @F
- PUSH [ESP+4] ;hinstDLL
- POP Exclude ;exclude me (my MessageBoxA)
- iWin32i HookApi, sUSER32, sMessageBoxA, HOOK_ALL, ALL_MODULES,\
- NULL, OFFSET NewMessageBoxA, OFFSET Exclude
- @@:
- MOV EAX, TRUE
- RETN 12
- ;------------------------------------------------------------------
- NewMessageBoxA PROC p1, p2, p3, p4
- iWin32 MessageBoxA, p1, sUnhookMsg, p3, p4
- RET
- NewMessageBoxA ENDP
-
- TEXTA UnhookMsg, <From DLL/0>
-
- ;names-------------------------------------------------------------
- TEXT USER32, <USER32.dll/0>
- TEXT MessageBoxA, <MessageBoxA/0>
- ;names-------------------------------------------------------------
-
- END DllMain
-
- :TRANSLATE
- @ECHO OFF
- ML /c /coff /nologo Alternative2DLL.bat
- eLINK Alternative2DLL /nologo /DLL /OUT:Alternative.dll /SUBSYSTEM:WINDOWS /MERGE:.idata=.text /MERGE:.rdata=.text /SECTION:.text,EWR /IGNORE:4078,4086 /BASE:0X77300000
- DEL Alternative2DLL.obj
- PAUSE
- CLS